package com.br.betelgeuse.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

//@Hibernate: @entity Modelo/classe mapeado como entidade.
@Entity
@Table(name="usuariointerno")
public class UsuarioInterno {
	/*
	 * @Hibernate: @Column Atributos mapeados como colunas.
	 * 
	 * @Hibernate: @Id indica primary Key.
	 * 
	 * @Hibernate: @GeneratedValue indica valor auto-incrementa pelo banco de
	 * dados.
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "idUsuarioInterno")
	private int idUsuarioInterno;

	@Column(name = "usuario", unique=true, nullable=false)
	private String usuario;

	@Column(name = "senha", nullable=false)
	private String senha;
	
	@Column(name = "perfil", nullable=false)
	private String perfil;
	
	@Column(name = "rg", unique=true, nullable=false)
	private String rg;

	// Construtor
	public UsuarioInterno() {
	}

	public int getIdUsuarioInterno() {
		return idUsuarioInterno;
	}

	public void setIdUsuarioInterno(int idUsuarioInterno) {
		this.idUsuarioInterno = idUsuarioInterno;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = String.valueOf(senha.hashCode());
	}

	public String getPerfil() {
		return perfil;
	}

	public void setPerfil(String perfil) {
		this.perfil = perfil;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = removePontuacao(rg);
	}
	
	private String removePontuacao(String string) {
		string = string.replace(".","");
		string = string.replace("-","");
		string = string.replace("(", "");
		string = string.replace(")", "");
		string = string.replace("/", "");	
		return string;
	}

}
